This invention relates to optical data storage systems, and more particularly to a means for efficiently effectuating error detection and correction within such an optical data storage system.
Over the past two decades or so, there have been two maor trends in the data processing industry that have worked together to revolutionize the way that information is gathered, stored, and interpreted. The first trend has been the expansion of technological sophistication, as exemplified by the microcomputer chip. That is, computing power, which once required rooms full of equipment and kilowatts of electrical power to operate, can now be found in very small silicon chips. The second trend has been the cost of purchasing such computing power. Particularly in the area of memory--as costs have dropped and capacities have increased--there has been an inevitable rush to take advantage of the new-found memory space and fill it with information. In this respect, the demand for more memory and storage space has always seemed to outstretch the available supply of such memory space.
Unfortunately, for users with exceptionally large data storage needs, the magnetic-based storage peripheral devices adapted for use with high performance computers (i.e., magnetic tape and disk drives) have not been able to fill the need for more storage space. Traditionally, the need for more storage space in such large data storage systems has been addressed by merely adding additional magnetic disk drives and/or magnetic tape drives. This has been costly both in terms of expense (purchase/lease price plus maintenance costs) and floor space. Moreover, even though there have been some significant strides in recent years with respect to increasing the data storage capacity of these magnetic-based storage devices, the theoretical design limits of such systems are rapidly being approached. Hence, merely adding more magnetic disk or tape drives is no longer viewed as a practical alternative to the ever increasing need for storing more and more information. It is therefore apparent that a new type of data storage system is needed in order to handle the large amounts of data that information users need to store.
Optical technology--that is, the technology of using a laser beam to burn or otherwise mark very small holes on a suitable medium in a pattern representative of the data to be stored, which pattern can subsequently be read by monitoring a laser beam directed through or reflected off of the previously recorded marks--has been available in laboratories for some time. Unfortunately, however, such laboratory technology has not provided a cost effective alternative for use in data storage products. This is because the optical components have tended to occupy entire rooms and the power associated with operating the laser and associated components has been enormous. Further, such laboratory systems are not easily interfaced with existing high performance computer systems. That is, the techniques used to format and input the data have been incompatible with more conventional formatting and data processing techniques used in the magnetic-based storage systems. Moreover, the few optical storage systems that have been commercially introduced in the last few years have primarily related to the storing of video signals (image storing devices) as opposed to the storing of digital information. Further, the few digital optical storage devices that do exist do not represent a viable alternative or supplement to the existing peripheral magnetic-based storage devices for the user of large data bases of information.
A continuing problem that has existed with whatever type of data storage system is used is the problem of minimizing the errors that occur during read or write. The number of errors that occur in such a system is typically measured by a parameter referred to as the "bit error rate." This parameter is typically expressed as a number indicating the number of good bits of digital data that can be obtained for every bad bit of data that occurs. Thus, a bit error rate of 100,000 (10E+5) indicates that 100,000 bits of data can be read or pllayed back before a bad or incorrect bit of data will be encountered. In order to provide a viable data storage system, bit error rates in excess of 10E+12 are desired.
Numerous Error Correction codes (ECC) and similar error correcting schemes are known in the art in order to improve the bit error rate of data processing systems. The very existence of such ECC schemes evidences the continuing and recurring problem of reducing errors that are introduced into such processing systems. Unfortunately, the hardware realization of such ECC schemes can become quite complex and expensive to implement. Because of this complexity, additional errors may be generated as the data is handled and processed by the operation of this circuitry. However, many of the error correction algorithms must be carried out in the host CPU, thereby consuming valuable host CPU time. What few error correction processes can be carried out remote to the host CPU must be performed serially, thereby slowing down the rate at which data may be read.
Errors can principally originate from one of three sources: (1) the write channel (i.e., the data is written incorrectly); (2) the read channel (i.e., the data is read incorrectly); or (3) the storage medium (i.e., even though the data is initially written correctly, the storage medium may change with time so as to alter the data to make it incorrect). Of these three potential sources of error, most known ECC schemes for use with peripheral data storage systems are directed only to correcting errors that occur in the read channel. Sources of error introduced by aging media, item (3) above, are minimized in magnetic-based storage devices by merely re-writing the data after a prescribed period of time. (This technique is commonly referred to as "refreshing.") That is, the old data is read, stored in a buffer memory, the media is erased, and the old data is then rewritten on the media as though it were new data. This refreshing technique is, of course, only available when erasable media is used. Optical media, on the otherhand, is generally not considered erasable because of the manner in which the marks are permanently placed on the media by the laser beam. (Once a hole or pit or other mark is burned or ablated on the media by the laser beam, it is difficult to remove that hole or pit or mark.) However, over time, the media may "flow" or other changes may occur thereto so that the hole, pit, or other mark is somehow altered to the degree that light reflected therefrom might be incorrectly sensed.
With optical digital data recording, the integrity--or correctness--of data must be maintained to the same degree of perfection as it is with other digital data storage devices. Thus, care must be taken to ensure coded data is written correctly, and that once written, the data is read back correctly later on. If a hole, pit, or mark is missing from the many holes, pits or marks forming a image--such as a TV screen image--the essence of the image is not lost. However, while errors can be tolerated on optical systems storing only images, users of digital, or coded, data can tolerate very few errors.
It is thus apparent that there is a need in the art for an optical storage system that not only meets the data capacity and density needs of the exploding data processing industry, but that is also compatible with existing and future high performance CPU systems. Preferably, such an optical storage system will supplement (rather than replace) existing magnetic-based storage systems. That is, a few magnetic disk drives and a few optical disk drives coupled to a main CPU should be able to handle all the existing and future data storage needs of the large information user, instead of the roomsful of magnetic disk and tape drives that such a user must now have installed. Moreover, it is also apparent that there is a need in the art for an optical digital storage system that provides acceptable data bit error rates, preferably on the order of at least no more than one bit error for every 10E+12 bits of information. Also, the overall data access times must be compatible with the high speed, high performance computers that are presently available. The optical storage system herein disclosed, and in particular the error detection and correction features thereof, is directed to satisfying these and other needs.